It is known to encode a series of pixel values by using Runlength encoding (RLE) method.
RLE method takes raw data, as for example a series of pixel values, and encodes the series as a series of (count value) pairs so that long sequences of the same value can be represented by a relatively small amount of data. For example, the series of values: 12 12 12 100 100 100 100 100 30 30 4 4 4 4 4 4 4 4 4 4 4 4 4 4 could be run-length encoded as:
(3,12) (5,100) (2,30) (14,4) PA1 starting from a predetermined first cell having a certain pixel value, to determine the largest area of cells, adjacent to said first cell, having the same pixel value as said first cell; PA1 to generate a code indicative of the row-column position of said first cell, of the dimensions of said largest area and of said pixel value common to all the cells of said area; PA1 to proceed to a second cell, adjacent to said area and having a pixel value different from the pixel value of said first cell; and PA1 starting from said second cell, to determine another largest area of cells, adjacent to said second cell, having the same pixel value as said second cell; PA1 to generate a code indicative of the row-column position of said second cell, of the dimensions of said largest area and of said pixel value common to all the cells of said area; PA1 to repeat said steps until all cells of said digital information have been encoded.
Such RLE method is a standard technique developed in the 50s and used in many different areas including, for example, fax machines.
It is also known from background research (using both the World Wide Web and traditional journals and textbooks) that many ideas have been presented under the names `area coding` and `two-dimensional run-length encoding`. Unfortunately, no specific implementation details or academic references are available from any of the sources consulted. Moreover, the sources indicate that other efforts in this area use complex recursive algorithms which emphasise optimal solutions at the cost of long runtimes, and also that these other efforts are not geared for the transmission of images for real-time rendering by relatively slow computers.
This invention addresses the problem of transmitting bitmapped images from a relatively fast computing device (the server) to a relatively slow computing device (the client) in such a way that these images can be rendered quickly on the client.
Therefore it is a primary object of the present invention to provide a method for encoding bitmapped information which is simple, effective and useful for relatively slow computers for rendering of two dimensional images.